C语言之父丹尼斯利奇的传奇一生

贾群 2019-01-18 23:04:23

丹尼斯·利奇 (Dennis MacAlistair Ritchie)出生于1941年,美国计算机科学家。黑客圈子通常称他为“dmr”。他是C语言的创造者、Unix操作系统的关键开发者,对计算机领域产生了深远影响。

1941年9月9日,Ritchie出生于纽约布朗克斯区,父亲是贝尔实验室的交换系统工程师Alistair Ritchie。Ritchie在新泽西长大,从小便是“别人家的孩子”,成绩优异,大学顺利成章进入哈佛。

在哈佛读书期间,有一次Ritchie碰巧参加了哈佛的计算机系统Univac I如何工作的讲座。(Univac I即UNIVersal Automatic Computer的缩写,通用自动计算机)他对所听到的内容非常着迷,并希望了解更多。于是,Ritchie开始更彻底地探索计算机,并对它们的编程方式格外感兴趣。

在当时,麻省理工学院 (MIT)的一些计算机实验室需要能够在计算机编程方面提供帮助的人,Ritchie带着自己不懈的好奇心加入其中,并帮助其他科学家一起开发更先进的计算机系统和软件。

开始研究操作系统

60、70年代,大多数计算机体积庞大,占用了整个房间并且只能进行有限的拨入访问,于是小型台式计算机正在成为工程师们的攻克对象,可是这些计算机没有易于使用的操作系统,于是Ritchie决定自己做一个。

这一决定得到了麻省理工学院Honeywell和General Electric的支持。一些大学和私营企业的科学家也来帮助构建这个系统。他们创作的系统能够同时处理多达一千个用户,并且可以一天24小时运行。

项目结束后,也是毕业之际,Ritchie放弃了本专业物理学,转而决定将计算机作为他的事业。1967年,他加入了贝尔实验室(Bell Labs)。对Ritchie而言,他从未将编程视为一个问题(problem,)而是一个需要解决的难题(puzzle)。

Ritchie曾表示,“我不想专注于具体的项目,而是希望能够拥有丰富的经验和想法。所以我开始从事各种项目,以了解我的专业知识。”

构建Unix以满足计算机需求

“UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity”( “UNIX基本上是一个简单的操作系统,但你必须是一个了解简单性的天才”) ― Dennis M. Ritchie

加入贝尔实验室后,Ritchie开始实验室的一位名为Ken Thompson(肯·汤普森)的成员合作。而这位Ken Thompson 也成为对Ritchie 职业生涯形象最大的人。

20世纪70年代,Thompson和Ritchie在研究如何让早期小型机变得越来越受欢迎。他们认为,所需要的是各种计算机之间更简单,更可行的交互。因为老型计算机要求用户使用操作系统来复制,删除,编辑和打印数据文件,将数据从磁盘移动到屏幕到打印机并返回磁盘进行存储。除了少数专家之外,一旦没有了操作系统,任何人都无法访问计算机。

为此,他们花了几个月的时间来提出解决方案,他们完成这个解决方案时已经编写好了Unix操作系统。

PDP-7,由迪吉多公司所研发的一款迷你电脑,从1965年开始生产上市。它是PDP系列的一个产品,用来取代PDP-4。它应用迪吉多公司研发的Flip Chip模组,在当时是较为便宜而且运算能力强大的技术。它也是第一款使用绕线(Wire wrap)的PDP产品。1969年,Ken Thompson利用一台PDP-7机器,写出了第一版的UNIX操作系统。

Unix这一操作系统更加便宜而且简单,几乎可以在任何机器上使用,这意味着用户不会被计算机附带的繁琐软件所困扰,他们可以购买和安装各种软件系统,因为Unix兼容所有软件系统。而在Unix前,这一切是不可能的。

Ritchie和他的团队在由IBM主持的操作系统原理研讨会上向公众发布了Unix,并立即取得了成功。随后,Ritchie和Thompson开始着手改进系统。

今天回望,Unix操作系统早已创建了一系列操作系统的观念和准则。Linux和BSD操作系统正在延续Unix发展。

Ritchie于1999年的一次采访中,表示:“我觉得Linux发展的现象令人高兴,虽然工作站和大型计算机厂商也在提供不同种类的BSD系统,但是在Unix的直接派生品中,Linux应该是最健全的了。”

C++的创造者和设计师的Bjarne Stroustrup曾说:“假如里奇决定在那十年里将他的精力花费在稀奇古怪的数学上,那么Unix将胎死腹中”。

C语言的发展

Unix是用机器语言编写的,它的词汇量很小,并且不能很好地处理多台计算机和它们的memories。所以Ritchie将旧系统的某些方面与新系统的各个方面结合起来,并提出了“C”编程语言。在二十一世纪初,“C”语言仍然是计算机编程的主要语言。它是如此简单,简洁,几乎每个计算机制造商都转向了它。

“C”语言使用非常少的语法和指令,但它却非常结构化和模块化,因此很容易在不同的计算机上使用。“C”语言的开发者们已经编写了大量“C”函数,程序员可以将其整体复制到自己的程序中,而无需从头开始,使其更快更容易实现。几乎所有程序员都转向使用较小的机器进行编程,放弃了他们之前认为的永远不想离开的大型计算机。到20世纪80年代中期,“C”语言已成为世界上最流行的编程语言之一。

成就与荣耀

Ritchie于1990年成为朗讯科技计算技术研究部门(Computing Techniques Research Department at Lucent Technologies)的领导者。在该职位上,他编写了应用程序并管理已发布的操作系统的增长。

1983年,因为发展了通用操作系统理论并实现了UNIX操作系统,Ritchie和Thompson二人一起获得了图灵奖。Ritchie的图灵奖论文题目为《对软件研究的反思》(Reflections on Software Research)。1990年,二人因“创造UNIX操作系统和C程序设计语言”而获得了IEEE颁发的IEEE汉明奖,1997年获计算机历史博物馆研究员奖,在1999年4月21日又共同获得了由美国总统比尔·克林顿颁发的美国国家技术与创新奖章。2005年,美国工业研究院授予Ritchie IRI成就奖,以表彰他对计算机科学技术做出的贡献,以及UNIX操作系统对社会的广泛影响。2011年,Ritchie和Thompson二人共同获得了日本国际奖。

2011年10月12日,Ritchie离开了这个世界,享年70岁,去往另一个地方开始了另一种旅行……

“Ritchie的名字并不容易让人察觉,也不为人熟知,但是……假如有一个能够把计算机放大的显微镜,你会看到里面到处都是他的贡献。”——计算机历史学家保罗·茨露吉

本页共30段,2949个字符,6997 Byte(字节)